home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / ptv2n1.arc / PATCH.PAS < prev    next >
Pascal/Delphi Source File  |  1991-03-26  |  1KB  |  23 lines

  1. function DriveValid(Drive: Char): Boolean; assembler;
  2. asm
  3.     mov   ah, 19h     { Select DOS function 19h }
  4.     int   21h         { Call DOS for current disk drive }
  5.     mov   bl, al      { Save drive code in bl }
  6.     mov   al, Drive   { Assign requested drive to al }
  7.     sub   al, 'A'     { Adjust so A:=0, B:=1, etc. }
  8.     mov   dl, al      { Save adjusted result in dl }
  9.     mov   ah, 0eh     { Select DOS function 0eh }
  10.     int   21h         { Call DOS to set default drive }
  11.     mov   ah, 19h     { Select DOS function 19h }
  12.     int   21h         { Get current drive again }
  13.     mov   cx, 0       { Preset result to False }
  14.     cmp   al, dl      { Check if drives match }
  15.     jne   @@1         { Jump if not--drive not valid }
  16.     mov   cx, 1       { Preset result to True }
  17. @@1:
  18.     mov   dl, bl      { Restore original default drive }
  19.     mov   ah, 0eh     { Select DOS function 0eh }
  20.     int   21h         { Call DOS to set default drive }
  21.     xchg  ax, cx      { Return function result in ax }
  22. end;
  23.